package com.eastfair.venueservice.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 实体类
 * 服务项
 * </p>
 *
 * @author linan
 * @since 2022-07-13
 */
@Data
@ApiModel(value = "ServiceItemVO", description = "服务项")
public class ServiceItemWithDetailVO implements Serializable {

    /**
     * 服务项ID
     */
    @ApiModelProperty(value = "服务项ID")
    private Long serviceItemId;

    /**
     * 服务名称
     */
    @ApiModelProperty(value = "服务名称")
    private String serviceName;
    /**
     * 服务单价
     */
    @ApiModelProperty(value = "服务单价")
    private BigDecimal unitPrice;
    /**
     * 服务图片
     */
    @ApiModelProperty(value = "服务图片")
    private String picUrl;

    /**
     * 附加费
     */
    @ApiModelProperty(value = "附加费")
    private BigDecimal surcharge;
    /**
     * 计量单位 字典维护
     */
    @ApiModelProperty(value = "计量单位 字典维护")
    private String calUnit;

    /**
     * 服务分类id
     */
    @ApiModelProperty(value = "服务分类id")
    private Long serviceCategoryId;

    /**
     * 服务商id
     */
    @ApiModelProperty(value = "服务商id")
    private Long serviceProviderId;



    /**
     * 服务分类名称
     */
    @ApiModelProperty(value = "服务分类名称")
    private String serviceCategoryName;

    /**
     * 服务规格id
     */
    @ApiModelProperty(value = "服务规格id")
    private Long serviceSpecsId;

    /**
     * 服务规格名称
     */
    @ApiModelProperty(value = "服务规格名称")
    private String serviceSpecsName;

    /**
     * 最小预定量
     */
    @ApiModelProperty(value = "最小预定量")
    private Integer minBookNum;

    /**
     * 库存数量
     */
    @ApiModelProperty(value = "库存数量")
    private Integer inventoryNum;

    /**
     * 折扣
     */
    @ApiModelProperty(value = "折扣")
    private BigDecimal discount;

    /**
     * 预订数量
     */
    @ApiModelProperty(value = "预订数量")
    private Long bookingNum;

    /**
     * 展前折扣开始时间
     */
    @ApiModelProperty(value = "展前折扣开始时间")
    private LocalDateTime preDiscountStartTime;
    /**
     * 展前折扣结束时间
     */
    @ApiModelProperty(value = "展前折扣结束时间")
    private LocalDateTime preDiscountEndTime;
    /**
     * 现场折扣开始时间
     */
    @ApiModelProperty(value = "现场折扣开始时间")
    private LocalDateTime onDiscountStartTime;
    /**
     * 现场折扣结束时间
     */
    @ApiModelProperty(value = "现场折扣结束时间")
    private LocalDateTime onDiscountEndTime;

    /**
     * 订单状态 #{NOT_SUBMIT:未提交;SUBMIT:已提交;DISPATCH:已派单;RECEIVE:已接单;COMPLETE:已完成;CANCEL:已取消}
     */
    @ApiModelProperty(value = "订单状态 #{NOT_SUBMIT:未提交;SUBMIT:已提交;DISPATCH:已派单;RECEIVE:已接单;COMPLETE:已完成;CANCEL:已取消}")
    private String orderStatus;


    /**
     * 展前折扣
     */
    @ApiModelProperty(value = "展前折扣")
    private BigDecimal preExhibitionDiscount;

    /**
     * 现场折扣
     */
    @ApiModelProperty(value = "现场折扣")
    private BigDecimal onSiteDiscount;
}
